package com.openecommerce.api.domain;
import java.util.Date;
/**
 *	
 * 订单实体类
 * @author Tommy
 *
 */
public class Order {
	//how about make method to generate orderId,make it more sensitive
	//订单号
    private Long orderId;
	//父订单号
    private Long parentId;
	//创建时间
    private Date createdAt;
	//更新时间
    private Date updatedAt;
	
    private Short isActive;
	//客户ID
    private Long customerId;
	//快递费
    private Double shippingAmount;
	
    private Double discountAmount;

    private Double subtotal;
    //订单总额
    private Double grandTotal;
	//已付款金额
    private Double totalPaid;
	//退货金额
    private Double totalRefunded;
    //下单商品总数量
    private Integer totalQtyOrdered;
    //取消金额
    private Double totalCanceled;
    //发票金额
    private Double totalInvoiced;
    //线上退货金额
    private Double totalOnlineRefunded;
    //线下退货金额
    private Double totalOfflineRefunded;
	//开单具地址ID
    private Long billingAddressId;
	//
    private String billingName;
	//送货地址ID
    private Long shippingAddressId;
	//
    private String shippingName;
	//订单总重量
    private Double weight;
	//下单时IP地址
    private String remoteIp;
	//订单流转状态 define in OrderStatusConstants
    private Short status;
	//订单非连续状态 define in OrderStatusConstants
    private Short state;
    //促销规则
    private String appliedRuleIds;
	//配送方式
    private String shippingMethod;
	//配送描述
    private String shippingDescription;
	//客户邮箱
    private String customerEmail;
	//客户姓名
    private String customerName;
	//客户手机号
    private String customerMobilephone;
	//客户电话号码
    private String customerTelephone;
	//客户分组ID
    private Integer customerGroupId;
	//购物车ID
    private Long cartId;
	//是否虚拟商品
    private Short isVirtual;
	//是否需要通知用户
    private Short customerNoteNotify;
	//是否游客
    private Short customerIsGuest;
	//是否已通知用户
    private Short notified;

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Short getIsActive() {
        return isActive;
    }

    public void setIsActive(Short isActive) {
        this.isActive = isActive;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Double getShippingAmount() {
        return shippingAmount;
    }

    public void setShippingAmount(Double shippingAmount) {
        this.shippingAmount = shippingAmount;
    }

    public Double getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(Double discountAmount) {
        this.discountAmount = discountAmount;
    }

    public Double getSubtotal() {
        return subtotal;
    }

    public void setSubtotal(Double subtotal) {
        this.subtotal = subtotal;
    }

    public Double getGrandTotal() {
        return grandTotal;
    }

    public void setGrandTotal(Double grandTotal) {
        this.grandTotal = grandTotal;
    }

    public Double getTotalPaid() {
        return totalPaid;
    }

    public void setTotalPaid(Double totalPaid) {
        this.totalPaid = totalPaid;
    }

    public Double getTotalRefunded() {
        return totalRefunded;
    }

    public void setTotalRefunded(Double totalRefunded) {
        this.totalRefunded = totalRefunded;
    }

    public Integer getTotalQtyOrdered() {
        return totalQtyOrdered;
    }

    public void setTotalQtyOrdered(Integer totalQtyOrdered) {
        this.totalQtyOrdered = totalQtyOrdered;
    }

    public Double getTotalCanceled() {
        return totalCanceled;
    }

    public void setTotalCanceled(Double totalCanceled) {
        this.totalCanceled = totalCanceled;
    }

    public Double getTotalInvoiced() {
        return totalInvoiced;
    }

    public void setTotalInvoiced(Double totalInvoiced) {
        this.totalInvoiced = totalInvoiced;
    }

    public Double getTotalOnlineRefunded() {
        return totalOnlineRefunded;
    }

    public void setTotalOnlineRefunded(Double totalOnlineRefunded) {
        this.totalOnlineRefunded = totalOnlineRefunded;
    }

    public Double getTotalOfflineRefunded() {
        return totalOfflineRefunded;
    }

    public void setTotalOfflineRefunded(Double totalOfflineRefunded) {
        this.totalOfflineRefunded = totalOfflineRefunded;
    }

    public Long getBillingAddressId() {
        return billingAddressId;
    }

    public void setBillingAddressId(Long billingAddressId) {
        this.billingAddressId = billingAddressId;
    }

    public String getBillingName() {
        return billingName;
    }

    public void setBillingName(String billingName) {
        this.billingName = billingName == null ? null : billingName.trim();
    }

    public Long getShippingAddressId() {
        return shippingAddressId;
    }

    public void setShippingAddressId(Long shippingAddressId) {
        this.shippingAddressId = shippingAddressId;
    }

    public String getShippingName() {
        return shippingName;
    }

    public void setShippingName(String shippingName) {
        this.shippingName = shippingName == null ? null : shippingName.trim();
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public String getRemoteIp() {
        return remoteIp;
    }

    public void setRemoteIp(String remoteIp) {
        this.remoteIp = remoteIp == null ? null : remoteIp.trim();
    }

    public Short getStatus() {
        return status;
    }

    public void setStatus(Short status) {
        this.status = status;
    }

    public Short getState() {
        return state;
    }

    public void setState(Short state) {
        this.state = state;
    }

    public String getAppliedRuleIds() {
        return appliedRuleIds;
    }

    public void setAppliedRuleIds(String appliedRuleIds) {
        this.appliedRuleIds = appliedRuleIds == null ? null : appliedRuleIds.trim();
    }

    public String getShippingMethod() {
        return shippingMethod;
    }

    public void setShippingMethod(String shippingMethod) {
        this.shippingMethod = shippingMethod == null ? null : shippingMethod.trim();
    }

    public String getShippingDescription() {
        return shippingDescription;
    }

    public void setShippingDescription(String shippingDescription) {
        this.shippingDescription = shippingDescription == null ? null : shippingDescription.trim();
    }

    public String getCustomerEmail() {
        return customerEmail;
    }

    public void setCustomerEmail(String customerEmail) {
        this.customerEmail = customerEmail == null ? null : customerEmail.trim();
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName == null ? null : customerName.trim();
    }

    public String getCustomerMobilephone() {
        return customerMobilephone;
    }

    public void setCustomerMobilephone(String customerMobilephone) {
        this.customerMobilephone = customerMobilephone == null ? null : customerMobilephone.trim();
    }

    public String getCustomerTelephone() {
        return customerTelephone;
    }

    public void setCustomerTelephone(String customerTelephone) {
        this.customerTelephone = customerTelephone == null ? null : customerTelephone.trim();
    }

    public Integer getCustomerGroupId() {
        return customerGroupId;
    }

    public void setCustomerGroupId(Integer customerGroupId) {
        this.customerGroupId = customerGroupId;
    }

    public Long getCartId() {
        return cartId;
    }

    public void setCartId(Long cartId) {
        this.cartId = cartId;
    }

    public Short getIsVirtual() {
        return isVirtual;
    }

    public void setIsVirtual(Short isVirtual) {
        this.isVirtual = isVirtual;
    }

    public Short getCustomerNoteNotify() {
        return customerNoteNotify;
    }

    public void setCustomerNoteNotify(Short customerNoteNotify) {
        this.customerNoteNotify = customerNoteNotify;
    }

    public Short getCustomerIsGuest() {
        return customerIsGuest;
    }

    public void setCustomerIsGuest(Short customerIsGuest) {
        this.customerIsGuest = customerIsGuest;
    }

    public Short getNotified() {
        return notified;
    }

    public void setNotified(Short notified) {
        this.notified = notified;
    }
}